home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / sbin / p0frep < prev    next >
Text File  |  2005-12-11  |  1KB  |  59 lines

  1. #!/bin/sh
  2. #
  3. # p0frep - trivial reporting script for p0f logfiles
  4. # --------------------------------------------------
  5. #
  6. # Copyright 2002-2004 by Michal Zalewski <lcamtuf@coredump.cx>
  7. #
  8.  
  9. echo "p0frep: p0f v2 log analyzer by <lcamtuf@coredump.cx>"
  10.  
  11. if [ $# -lt 2 ]; then
  12.     cat >/dev/stderr <<EOHELP
  13. Usage: $0 logfile.txt sortby [ 'ipmask' 'sysmask' ]
  14.  
  15.     logfile.txt    - input file
  16.     sortby         - 'system' or 'addr'; sort order
  17.     ipmask         - IP mask, e.g. 195.117.3. (can be '')
  18.     sysmask        - system name mask, e.g. 'Windows'
  19.  
  20. Typical usage might be:
  21.  
  22. To get your local systems in 10.0 subnet sorted by OS name:
  23.   p0frep log.txt system 10.0.
  24.  
  25. To get all AIX boxes sorted by IP:
  26.   p0frep log.txt addr '' AIX
  27.  
  28. ...and so on.
  29. EOHELP
  30.     exit 1
  31. fi
  32.  
  33. if [ ! -f "$1" ]; then
  34.   echo "No filename given." >/dev/stderr
  35.   exit 1
  36. fi
  37.  
  38. if [ "$2" = "system" ]; then
  39.  
  40.   cat "$1" | awk -F'> ' '{print $2}NF==1{print $1}' | grep -F ' - ' | awk '{print "^" $0}' | grep -F "^$3" | \
  41.   awk '{print $3 " " $1}' | grep "^$4" | awk -F: '{print $1}' | \
  42.   sed 's/\^//g' | sort | uniq -c 
  43.  
  44. elif [ "$2" = "addr" ]; then
  45.  
  46.   cat "$1" | awk -F'> ' '{print $2}NF==1{print $1}' | grep -F ' - ' | awk '{print "^" $0}' | grep -F "^$3" | \
  47.   awk '{print $3 " " $1}' | grep "^$4" | awk -F: '{print $1}' | \
  48.   sed 's/\^//g' | awk '{print $2 " " $1}' | sort | uniq -c 
  49.  
  50. else
  51.  
  52.   echo "Second parameter (sort order) mst be 'system' or 'addr'." >/dev/stderr
  53.   exit 1
  54.  
  55. fi
  56.  
  57. exit 0
  58.  
  59.